// pages/demo02/demo02.js
Page({
  /**
   * 页面的初始数据
   */
  data: {
    input:'',
    todos:[
      {name:'Learing WEAPP',completed:false,showinp:false},
      {name:'Learing JavaScript',completed:true,showinp:false},
      {name:'Learing HTML',completed:false,showinp:false}
    ],
    num:2,
  },
  // 添加
  pushinp(e){
    // 获取值
      let val = e.detail.value;
      let obj={
          name:val,
          completed:false,
          showinp:false
      }
      if(val==''){
        console.log('值为空!请输入数据')
        return 
      }
       // push添加数据
      this.data.todos.push(obj);
      // 条数+1
      this.data.num++
      this.setData({
        todos:this.data.todos,
        input: this.data.input,
        num:this.data.num
      })
  },
  // 删除
  dels(q){
    // 获取下标
      let indexs=q.currentTarget.dataset.dels
      // 如果是不选中的情况下条数才-1
      if(!this.data.todos[indexs].completed){
        this.data.num--;
      }
      // 截取删除当前数据
      this.data.todos.splice(indexs,1);
      this.setData({
        todos:this.data.todos,
        num:this.data.num
      })
  },
  // 判断复选框
  booleans(val){
    // 获取下标
        let indexs=val.currentTarget.dataset.indexs
        // 反向赋值
        this.data.todos[indexs].completed=!this.data.todos[indexs].completed;
        // 判断条数增减
        if(this.data.todos[indexs].completed){
          this.data.todos[indexs].showinp=false
          this.data.num--;
        }else{
          this.data.num++;
        }
        this.setData({
          todos:this.data.todos,
          num:this.data.num
        })
  },
  // 显示修改框
  inputs(val){
    // 获取下标
    let indexs=val.currentTarget.dataset.indexs
    // 判断是否修改
    if(this.data.todos[indexs].completed==true){
      console.log('不能修改')
      return 
  }
  // 反向赋值
    this.data.todos[indexs].showinp=!this.data.todos[indexs].showinp
    this.setData({
      todos:this.data.todos
    })
  },
  // 失去焦点
  hideinp(val){
    // 获取当前下标
    let indexs=val.currentTarget.dataset.indexs;
    // 获取当前name值
    let vals=val.detail.value
    // 赋值
    this.data.todos[indexs].name=vals
    // 将input框换成文本
    this.data.todos[indexs].showinp=!this.data.todos[indexs].showinp
    this.setData({
      todos:this.data.todos
    })
  }
})